|
In number theory, a congruence of squares is a congruence commonly used in integer factorization algorithms. ==Derivation== Given a positive integer ''n'', Fermat's factorization method relies on finding numbers ''x'', ''y'' satisfying the equality : We can then factor ''n'' = ''x''2 - ''y''2 = (''x'' + ''y'')(''x'' - ''y''). This algorithm is slow in practice because we need to search many such numbers, and only a few satisfy the strict equation. However, ''n'' may also be factored if we can satisfy the weaker congruence of squares condition: :. From here we easily deduce : This means that ''n'' divides the product (''x'' + ''y'') (''x'' - ''y''), but since we also require ''x'' ≠ ±''y'' (mod ''n''), ''n'' divides neither (x+y) nor (x−y) alone. Thus (''x'' + ''y'') and (''x'' − ''y'') each contain proper factors of ''n''. Computing the greatest common divisors of (''x'' + ''y'',''n'') and of (''x'' - ''y'',''n'') will give us these factors; this can be done quickly using the Euclidean algorithm. Congruences of squares are extremely useful in integer factorization algorithms and are extensively used in, for example, the quadratic sieve, general number field sieve, continued fraction factorization, and Dixon's factorization. Conversely, because finding square roots modulo a composite number turns out to be probabilistic polynomial-time equivalent to factoring that number, any integer factorization algorithm can be used efficiently to identify a congruence of squares. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「congruence of squares」の詳細全文を読む スポンサード リンク
|